package com.yidu.service;

import java.util.List;
import java.util.Map;

import com.yidu.domain.ListenModuleRole;

/**
 * 
 * 类注释:模块角色服务类
 * @author wpy
 * 2018年11月27日上午11:40:55
 */
public interface ListenModuleRoleService{
	/**
	 * 根据模块角色id删除
	 * @param mrId 角色模块id
	 * @return
	 */
    int deleteByPrimaryKey(String mrId);

    /**
     * 根据所有模块角色对象信息增加
     * @param mr 角色模块对象
     * @return
     */
    int insert(ListenModuleRole mr);

    /**
     * 根据已有的模块角色对象信息增加
     * @param mr 角色模块对象
     * @return
     */
    int insertSelective(ListenModuleRole mr);

    /**
     * 根据模块角色id查询模块角色信息
     * @param mrId 角色模块id
     * @return
     */
    ListenModuleRole selectByPrimaryKey(String mrId);

    /**
     * 根据模块角色对象修改已有的信息
     * @param mr 角色模块对象
     * @return
     */
    int updateByPrimaryKeySelective(ListenModuleRole mr);

    /**
     * 根据模块角色对象修改所有的信息
     * @param mr 角色模块对象
     * @return
     */
    int updateByPrimaryKey(ListenModuleRole mr);
    
    /**
     * 根据角色模块已有的数据查询角色模块信息
     * @param mr 角色模块对象
     * @return
     */
    List<ListenModuleRole> selectByRole(ListenModuleRole mr);
    
    /**
     * 根据角色id删除相应的角色模块数据
     * @param roleId 角色id
     * @return
     */
    int deleteByRole(String roleId);
    
    /**
     * 查询库存总数量
     * @param companyId 公司id
     * @return
     */
    Integer selectStockCount (String companyId);
    
    
    /**
     * 查询公司销售总数量
     * @param companyId 公司id
     * @return
     */
    Integer selectSellCount (String companyId);
    
    /**
     * 查询公司销售总数量
     * @param companyId 公司id
     * @return
     */
    Integer selectBranchCount (String companyId);
    
    /**
     * 查询财务总金额
     * @param companyId 公司id
     * @return
     */
    Double selectFinanceCount (String companyId);
    
    /**
     * 查询当天销售量
     * @param map 查询条件集合
     * @return
     */
    Integer selectTodaySell(Map<String, Object> map);
}
